package org.htp.freemarkerfornetbeans.lexer;

import java.util.Arrays;
import java.util.List;

/**
 *
 * @author apleskatsevich
 */
public class FreeMarkerUtils {

    public static List<FreeMarkerTokenId> getTokensList() {
        return Arrays.<FreeMarkerTokenId>asList(new FreeMarkerTokenId[]{
                    new FreeMarkerTokenId("EOF", "text", FMParserConstants.EOF),
                    new FreeMarkerTokenId("BLANK", "whitespace", FMParserConstants.BLANK),
                    new FreeMarkerTokenId("START_TAG", "directive", FMParserConstants.START_TAG),
                    new FreeMarkerTokenId("END_TAG", "directive", FMParserConstants.END_TAG),
                    new FreeMarkerTokenId("CLOSE_TAG1", "directive", FMParserConstants.CLOSE_TAG1),
                    new FreeMarkerTokenId("CLOSE_TAG2", "directive", FMParserConstants.CLOSE_TAG2),
                    new FreeMarkerTokenId("ATTEMPT", "directive", FMParserConstants.ATTEMPT),
                    new FreeMarkerTokenId("RECOVER", "directive", FMParserConstants.RECOVER),
                    new FreeMarkerTokenId("IF", "directive", FMParserConstants.IF),
                    new FreeMarkerTokenId("ELSE_IF", "directive", FMParserConstants.ELSE_IF),
                    new FreeMarkerTokenId("LIST", "directive", FMParserConstants.LIST),
                    new FreeMarkerTokenId("FOREACH", "text", FMParserConstants.FOREACH),
                    new FreeMarkerTokenId("SWITCH", "directive", FMParserConstants.SWITCH),
                    new FreeMarkerTokenId("CASE", "directive", FMParserConstants.CASE),
                    new FreeMarkerTokenId("ASSIGN", "directive", FMParserConstants.ASSIGN),
                    new FreeMarkerTokenId("GLOBALASSIGN", "directive", FMParserConstants.GLOBALASSIGN),
                    new FreeMarkerTokenId("LOCALASSIGN", "directive", FMParserConstants.LOCALASSIGN),
                    //new FreeMarkerTokenId("INCLUDE","text",FMParserConstants.
                    new FreeMarkerTokenId("IMPORT", "directive", FMParserConstants.IMPORT),
                    new FreeMarkerTokenId("FUNCTION", "directive", FMParserConstants.FUNCTION),
                    new FreeMarkerTokenId("MACRO", "directive", FMParserConstants.MACRO),
                    new FreeMarkerTokenId("TRANSFORM", "text", FMParserConstants.TRANSFORM),
                    new FreeMarkerTokenId("VISIT", "directive", FMParserConstants.VISIT),
                    new FreeMarkerTokenId("STOP", "directive", FMParserConstants.STOP),
                    new FreeMarkerTokenId("RETURN", "directive", FMParserConstants.RETURN),
                    new FreeMarkerTokenId("CALL", "text", FMParserConstants.CALL),
                    new FreeMarkerTokenId("SETTING", "directive", FMParserConstants.SETTING),
                    new FreeMarkerTokenId("COMPRESS", "directive", FMParserConstants.COMPRESS),
                    new FreeMarkerTokenId("COMMENT", "comment", FMParserConstants.COMMENT),
                    new FreeMarkerTokenId("TERSE_COMMENT", "comment", FMParserConstants.TERSE_COMMENT),
                    new FreeMarkerTokenId("NOPARSE", "text", FMParserConstants.NOPARSE),
                    new FreeMarkerTokenId("END_IF", "directive", FMParserConstants.END_IF),
                    new FreeMarkerTokenId("END_LIST", "directive", FMParserConstants.END_LIST),
                    new FreeMarkerTokenId("END_RECOVER", "directive", FMParserConstants.END_RECOVER),
                    new FreeMarkerTokenId("END_ATTEMPT", "directive", FMParserConstants.END_ATTEMPT),
                    new FreeMarkerTokenId("END_FOREACH", "directive", FMParserConstants.END_FOREACH),
                    new FreeMarkerTokenId("END_LOCAL", "directive", FMParserConstants.END_LOCAL),
                    new FreeMarkerTokenId("END_GLOBAL", "directive", FMParserConstants.END_GLOBAL),
                    new FreeMarkerTokenId("END_ASSIGN", "directive", FMParserConstants.END_ASSIGN),
                    new FreeMarkerTokenId("END_FUNCTION", "directive", FMParserConstants.END_FUNCTION),
                    new FreeMarkerTokenId("END_MACRO", "directive", FMParserConstants.END_MACRO),
                    new FreeMarkerTokenId("END_COMPRESS", "directive", FMParserConstants.END_COMPRESS),
                    new FreeMarkerTokenId("END_TRANSFORM", "directive", FMParserConstants.END_TRANSFORM),
                    new FreeMarkerTokenId("END_SWITCH", "directive", FMParserConstants.END_SWITCH),
                    new FreeMarkerTokenId("ELSE", "directive", FMParserConstants.ELSE),
                    new FreeMarkerTokenId("BREAK", "directive", FMParserConstants.BREAK),
                    new FreeMarkerTokenId("SIMPLE_RETURN", "text", FMParserConstants.SIMPLE_RETURN),
                    new FreeMarkerTokenId("HALT", "text", FMParserConstants.HALT),
                    new FreeMarkerTokenId("FLUSH", "directive", FMParserConstants.FLUSH),
                    new FreeMarkerTokenId("TRIM", "text", FMParserConstants.TRIM),
                    new FreeMarkerTokenId("LTRIM", "text", FMParserConstants.LTRIM),
                    new FreeMarkerTokenId("RTRIM", "text", FMParserConstants.RTRIM),
                    new FreeMarkerTokenId("NOTRIM", "text", FMParserConstants.NOTRIM),
                    new FreeMarkerTokenId("DEFAUL", "directive", FMParserConstants.DEFAUL),
                    new FreeMarkerTokenId("SIMPLE_NESTED", "directive", FMParserConstants.SIMPLE_NESTED),
                    new FreeMarkerTokenId("NESTED", "directive", FMParserConstants.NESTED),
                    new FreeMarkerTokenId("SIMPLE_RECURSE", "directive", FMParserConstants.SIMPLE_RECURSE),
                    new FreeMarkerTokenId("RECURSE", "directive", FMParserConstants.RECURSE),
                    new FreeMarkerTokenId("FALLBACK", "directive", FMParserConstants.FALLBACK),
                    new FreeMarkerTokenId("ESCAPE", "directive", FMParserConstants.ESCAPE),
                    new FreeMarkerTokenId("END_ESCAPE", "directive", FMParserConstants.END_ESCAPE),
                    new FreeMarkerTokenId("NOESCAPE", "directive", FMParserConstants.NOESCAPE),
                    new FreeMarkerTokenId("END_NOESCAPE", "directive", FMParserConstants.END_NOESCAPE),
                    new FreeMarkerTokenId("UNIFIED_CALL", "text", FMParserConstants.UNIFIED_CALL),
                    new FreeMarkerTokenId("UNIFIED_CALL_END", "text", FMParserConstants.UNIFIED_CALL_END),
                    new FreeMarkerTokenId("FTL_HEADER", "directive", FMParserConstants.FTL_HEADER),
                    new FreeMarkerTokenId("TRIVIAL_FTL_HEADER", "directive", FMParserConstants.TRIVIAL_FTL_HEADER),
                    new FreeMarkerTokenId("UNKNOWN_DIRECTIVE", "text", FMParserConstants.UNKNOWN_DIRECTIVE),
                    new FreeMarkerTokenId("WHITESPACE", "whitespace", FMParserConstants.WHITESPACE),
                    new FreeMarkerTokenId("PRINTABLE_CHARS", "text", FMParserConstants.PRINTABLE_CHARS),
                    new FreeMarkerTokenId("FALSE_ALERT", "text", FMParserConstants.FALSE_ALERT),
                    new FreeMarkerTokenId("OUTPUT_ESCAPE", "operator", FMParserConstants.OUTPUT_ESCAPE),
                    new FreeMarkerTokenId("NUMERICAL_ESCAPE", "operator", FMParserConstants.NUMERICAL_ESCAPE),
                    new FreeMarkerTokenId("ESCAPED_CHAR", "text", FMParserConstants.ESCAPED_CHAR),
                    new FreeMarkerTokenId("STRING_LITERAL", "literal", FMParserConstants.STRING_LITERAL),
                    new FreeMarkerTokenId("RAW_STRING", "string", FMParserConstants.RAW_STRING),
                    new FreeMarkerTokenId("FALSE", "text", FMParserConstants.FALSE),
                    new FreeMarkerTokenId("TRUE", "text", FMParserConstants.TRUE),
                    new FreeMarkerTokenId("INTEGER", "text", FMParserConstants.INTEGER),
                    new FreeMarkerTokenId("DECIMAL", "text", FMParserConstants.DECIMAL),
                    new FreeMarkerTokenId("DOT", "text", FMParserConstants.DOT),
                    new FreeMarkerTokenId("DOT_DOT", "text", FMParserConstants.DOT_DOT),
                    new FreeMarkerTokenId("BUILT_IN", "text", FMParserConstants.BUILT_IN),
                    new FreeMarkerTokenId("EXISTS", "text", FMParserConstants.EXISTS),
                    new FreeMarkerTokenId("EQUALS", "text", FMParserConstants.EQUALS),
                    new FreeMarkerTokenId("DOUBLE_EQUALS", "text", FMParserConstants.DOUBLE_EQUALS),
                    new FreeMarkerTokenId("NOT_EQUALS", "text", FMParserConstants.NOT_EQUALS),
                    new FreeMarkerTokenId("LESS_THAN", "text", FMParserConstants.LESS_THAN),
                    new FreeMarkerTokenId("LESS_THAN_EQUALS", "text", FMParserConstants.LESS_THAN_EQUALS),
                    new FreeMarkerTokenId("ESCAPED_GT", "text", FMParserConstants.ESCAPED_GT),
                    new FreeMarkerTokenId("ESCAPED_GTE", "text", FMParserConstants.ESCAPED_GTE),
                    new FreeMarkerTokenId("PLUS", "operator", FMParserConstants.PLUS),
                    new FreeMarkerTokenId("MINUS", "operator", FMParserConstants.MINUS),
                    new FreeMarkerTokenId("TIMES", "operator", FMParserConstants.TIMES),
                    new FreeMarkerTokenId("DOUBLE_STAR", "text", FMParserConstants.DOUBLE_STAR),
                    new FreeMarkerTokenId("ELLIPSIS", "text", FMParserConstants.ELLIPSIS),
                    new FreeMarkerTokenId("DIVIDE", "operator", FMParserConstants.DIVIDE),
                    new FreeMarkerTokenId("PERCENT", "operator", FMParserConstants.PERCENT),
                    new FreeMarkerTokenId("AND", "operator", FMParserConstants.AND),
                    new FreeMarkerTokenId("OR", "operator", FMParserConstants.OR),
                    new FreeMarkerTokenId("EXCLAM", "text", FMParserConstants.EXCLAM),
                    new FreeMarkerTokenId("COMMA", "text", FMParserConstants.COMMA),
                    new FreeMarkerTokenId("SEMICOLON", "text", FMParserConstants.SEMICOLON),
                    new FreeMarkerTokenId("COLON", "text", FMParserConstants.COLON),
                    new FreeMarkerTokenId("OPEN_BRACKET", "operator", FMParserConstants.OPEN_BRACKET),
                    new FreeMarkerTokenId("CLOSE_BRACKET", "operator", FMParserConstants.CLOSE_BRACKET),
                    new FreeMarkerTokenId("OPEN_PAREN", "operator", FMParserConstants.OPEN_PAREN),
                    new FreeMarkerTokenId("CLOSE_PAREN", "operator", FMParserConstants.CLOSE_PAREN),
                    new FreeMarkerTokenId("OPEN_BRACE", "operator", FMParserConstants.OPEN_BRACE),
                    new FreeMarkerTokenId("CLOSE_BRACE", "operator", FMParserConstants.CLOSE_BRACE),
                    new FreeMarkerTokenId("IN", "operator", FMParserConstants.IN),
                    new FreeMarkerTokenId("AS", "operator", FMParserConstants.AS),
                    new FreeMarkerTokenId("USING", "text", FMParserConstants.USING),
                    new FreeMarkerTokenId("ID", "identifier", FMParserConstants.ID),
                    new FreeMarkerTokenId("LETTER", "text", FMParserConstants.LETTER),
                    new FreeMarkerTokenId("DIGIT", "number", FMParserConstants.DIGIT),
                    new FreeMarkerTokenId("DIRECTIVE_END", "directive", FMParserConstants.DIRECTIVE_END),
                    new FreeMarkerTokenId("EMPTY_DIRECTIVE_END", "directive", FMParserConstants.EMPTY_DIRECTIVE_END),
                    new FreeMarkerTokenId("NATURAL_GT", "text", FMParserConstants.NATURAL_GT),
                    new FreeMarkerTokenId("NATURAL_GTE", "text", FMParserConstants.NATURAL_GTE),
                    new FreeMarkerTokenId("TERMINATING_WHITESPACE", "whitespace", FMParserConstants.TERMINATING_WHITESPACE),
                    new FreeMarkerTokenId("TERSE_COMMENT_END", "comment", FMParserConstants.TERSE_COMMENT_END),
                    new FreeMarkerTokenId("MAYBE_END", "text", FMParserConstants.MAYBE_END),
                    new FreeMarkerTokenId("KEEP_GOING", "text", FMParserConstants.KEEP_GOING),
                    new FreeMarkerTokenId("LONE_LESS_THAN_OR_DASH", "text", FMParserConstants.LONE_LESS_THAN_OR_DASH),});
    }

}
